package com.lcn.comm.service.transaction;

import com.lcn.comm.domain.TxGroup;
import com.lcn.comm.domain.TxRequest;

/**
 * <p>事务组服务</p>
 *
 * @author 张峰 zfvip_it@163.com
 * @create: 下午8:13
 */
public interface TransactionGroupService {

    /**
     * 创建事务组
     *
     * @param groupId
     * @return
     */
    TxGroup createTransactionGroup(String groupId);

    /**
     * 添加事务组
     *
     * @param isHasGroup
     * @param txRequest
     * @return
     */
    boolean addTransactionGroup(boolean isHasGroup, TxRequest txRequest);

    /**
     * 关闭事务组
     *
     * @param groupId 事务组id
     * @param state   1:关闭成功 0:失败
     * @return
     */
    int closeTransactionGroup(String groupId, int state);
}
